// 用户上划页面，滚动条触底，开始加载下一页数据
import {request} from '../../request/index.js'
Page({
    data: {
        tabs:[
            {
                id:0,
                value:'综合',
                isActive:true
            },
            {
                id:1,
                value:'销量',
                isActive:false
            },
            {
                id:2,
                value:'价格',
                isActive:false
            },
        ],
        goodsList:[]
    },
    // 接口要的参数
    QueryParams:{
        query:'',
        cid:'',
        pagenum:1,
        pagesize:10
    },
    totalPages:1,
    // 标题点击事件
    handleTabsItemChange(e){
        // 1 获取被点击的标题索引
        const {index}=e.detail
        // 2 修改源数组
        let {tabs}=this.data;
        tabs.forEach((v,i) => {
            i===index?v.isActive=true:v.isActive=false
        });
        // 3 赋值到data中
        this.setData({
            tabs
        })
    },
    // 获取商品列表数据
    async getGoodsList(){
        const res=await request({url:'/goods/search',data:this.QueryParams})
        // 获取总条数
        // console.log(res)
        const total=res.total
        // 计算中页数
        this.totalPages=Math.ceil(total/this.QueryParams.pagesize)
        console.log(this.totalPages);
        this.setData({
            // 拼接了数组
            goodsList:[...this.data.goodsList,...res.goods]
        })

        // 关闭下拉刷新的窗口
        wx.stopPullDownRefresh();
          
    },
    onLoad(options) {
        this.QueryParams.cid=options.cid||''
        this.QueryParams.query=options.query||''
        this.getGoodsList()
    },
    // 页面上滑，滚动条触底事件
    onReachBottom(){
        // 1判断还有没有下一页数据
        if(this.QueryParams.pagenum>=this.totalPages){
            wx.showToast({title:'没有下一页数据了'}); 
        }else{
            this.QueryParams.pagenum++
            this.getGoodsList()
        }
    },
    // 下拉刷新事件
    onPullDownRefresh(){
        // 1 重置数组
        this.setData({
            goodsList:[]
        })
        // 2 重置页码
        this.QueryParams.pagenum=1
        // 2 发送页码
        this.getGoodsList()
    }
})